package com.zkzx.common.driver.command;

import com.zkzx.common.driver.model.DriverBankVO;
import com.zkzx.common.driver.model.DriverLicenseVO;
import com.zkzx.common.driver.model.DriverQualificationVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 北京中科智兴物联科技有限公司 @版权所有
 *
 * @Author: zhaoyihe@zkraising.com
 * @Date: 2021/05/07/20:33
 * @Description:
 */

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "DriverCommand", description = "司机信息入参")
public class DriverCommand implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ApiModelProperty(value = "id", example = "10086")
    private Integer id;
    /**
     * 三方id
     */
    @ApiModelProperty(value = "三方id", name = "three_id", example = "63001")
    private String threeId;

    /**
     * CID
     */
    @ApiModelProperty(value = "司机id", example = "10086")
    private String cid;

    /**
     * 企业id
     */
    @ApiModelProperty(value = "企业id", name = "company_id",example = "10086")
    private Integer companyId;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话",  example = "18811612888")
    private String mobile;

    /**
     * 司机姓名
     */
    @ApiModelProperty(value = "name", example = "张三")
    private String name;

    /**
     * 常用车辆id
     */
    @ApiModelProperty(value = "常用车辆id",name = "truck_id", example = "135")
    private Integer truckId;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号",  example = "110125199903034526")
    private String identification;

    /**
     * 民族
     */
    @ApiModelProperty(value = "民族", name = "nation", example = "汉")
    private String nation;

    /**
     * 身份证状态
     */
    @ApiModelProperty(value = "身份证状态", name = "identification_status", example = "短期")
    private String identificationStatus;

    /**
     * 身份证起始时间
     */
    @ApiModelProperty(value = "身份证起始时间", name = "identification_start_time", example = "2000-01-01")
    private String identificationStartTime;

    /**
     * 身份证终止时间
     */
    @ApiModelProperty(value = "身份证终止时间", name = "identification_end_time", example = "2021-01-01")
    private String identificationEndTime;

    /**
     * 身份证省,市,县编号
     */
    @ApiModelProperty(value = "身份证省,市,县编号", name = "region_id", example = "130000,130300,130321")
    private String regionId;

    /**
     * 身份证省市县地址
     */
    @ApiModelProperty(value = "身份证省/市/县地址", name = "region_info", example = "河北省/秦皇岛市/青龙满族自治县")
    private String regionInfo;

    /**
     *  省
     */
    @ApiModelProperty(value = "省",example = "山东省")
    private String province;

    /**
     * 市
     */
    @ApiModelProperty(value = "市",example = "济南市")
    private String city;

    /**
     * 县
     */
    @ApiModelProperty(value = "县",example = "槐荫区")
    private String county;

    /**
     * 身份证住址
     */
    @ApiModelProperty(value = "身份证住址", name = "identification_address", example = "北京市海淀区数码大厦B座703")
    private String identificationAddress;

    /**
     * 身份证正面图片
     */
    @ApiModelProperty(value = "身份证正面图片", name = "identification_front_pic", example = "/upload/company/2021-05-07/erweima.jpg")
    private String identificationFrontPic;

    /**
     * 身份证反面图片
     */
    @ApiModelProperty(value = "身份证反面图片", name = "identification_back_pic", example = "/upload/company/2021-05-07/erweima.jpg")
    private String identificationBackPic;

    /**
     * 司机照片，暂未启用，预留
     */
    @ApiModelProperty(value = "司机照片", name = "driver_pic", example = "/upload/company/2021-05-07/erweima.jpg")
    private String driverPic;

    /**
     * 信息来源
     */
    @ApiModelProperty(value = "信息来源", name = "source", example = "自建")
    private String source;

    /**
     * 司机状态
     */
    @ApiModelProperty(value = "司机状态", example = "NO_SUBIT")
    private String status;

    /**
     * 司机银行卡信息
     */
    @ApiModelProperty(value = "司机银行卡信息", example = "司机银行卡信息")
    private DriverBankVO driverBank;

    /**
     * 驾驶证信息
     */
    @ApiModelProperty(value = "驾驶证信息", example = "驾驶证信息")
    private DriverLicenseVO driverLicense;

    /**
     * 资格证
     */
    @ApiModelProperty(value = "资格证信息", example = "资格证信息")
    private DriverQualificationVO driverQualification;
    /**
     * 三方认证结果 key
     */
    @ApiModelProperty(value = "关联个数", name = "personal_identity_key", example = "\"personalIdentity3Key\": \"a37381bf4f53d28dd568b6ee6bc9a5a3c551d186\" ")
    private String personalIdentityKey;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注：异常信息或3KEY", example = "a37381bf4f53d28dd568b6ee6bc9a5a3c551d186")
    private String remarks;


}
